<?php
	require_once( '../_config/base.inc.php' );

	use \dayscript\Application;
	use \dayscript\util\Benchmark;
	use \dayscript\filesystem\FileSystem;
	use \dayscript\filesystem\FileSystemManager;
	
	Application::getInstance( BASE_DIR . '_config/tests.inc.php' );
	
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>FileSystem</title>
	<link rel="stylesheet" type="text/css" media="all" href="../_resources/styles.css" />
</head>
<body>
<pre>
<b>Escribir, leer y borrar un archivo:</b>
<br />
<?php
	
	// Instanciar objeto que representa el archivo
	$file = new FileSystem("test/prueba.txt", FileSystem::MODE_READ_WRITE_B_C);
	
	// Abrir el archivo en el modo especificado
	FileSystemManager::open($file);
	
	// Escribir en el archivo
	$content = "Prueba de funcionalidad de escritura en archivos\r\notra linea de prueba";
	FileSystemManager::write($file, $content);
	
	// Cerrar el archivo
	FileSystemManager::close($file);
		
	// Abrir el archivo en el modo especificado
	$file->setMode(FileSystem::MODE_ONLY_READ_B_NC);
	FileSystemManager::open($file);
	
	// Leer todo el archivo
	$newContent = FileSystemManager::readByLength($file);
	echo '<b>Todo el contenido del archivo:</b> '.$newContent.'<br />';
	
	// Retornar el apuntador al principio del archivo nuevamente
	FileSystemManager::rewind($file);	
	
	// Leer solo una linea del archivo
	$newContent = FileSystemManager::readByLine($file);
	echo '<b>Solo una l&iacute;nea del archivo:</b> '.$newContent.'<br />';
	
	// Cerrar el archivo
	FileSystemManager::close($file);
	
	// Borrar archivo, no es necesario abrirlo
	FileSystemManager::delete($file);
	
?>
<br />
<b>Benchmark:</b><?php echo Benchmark::getInstance( ) ?>
</pre>
</body>
</html>